package com.wenx.v3system.modular.cloud.domain.query;

import com.wenx.base.domain.BaseQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 系统角色查询条件
 * 基于Enhanced RBAC权限模型
 * 
 * @author wenx
 * @since 1.0.0
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Schema(description = "系统角色查询条件")
public class SysRoleQuery extends BaseQuery<Object> {

    @Schema(description = "角色名称（模糊查询）", example = "管理员")
    private String name;

    @Schema(description = "角色编码（精确查询）", example = "ADMIN")
    private String code;

    @Schema(description = "角色状态：1-启用，0-禁用", example = "1")
    private Integer status;

    @Schema(description = "是否为内置角色", example = "true")
    private Boolean isBuiltin;

    @Schema(description = "关键词（用于角色名称和编码的模糊搜索）", example = "管理")
    private String keyword;

    @Schema(description = "排序字段", example = "createTime")
    private String orderBy;

    @Schema(description = "排序方式：asc-升序，desc-降序", example = "desc")
    private String orderType;
}
